集群升级
查看cpu架构
cat /proc/cpuinfo | grep avx2
关闭副本迁移
关闭副本均衡逻辑。关闭后,不会再触发普通表副本的均衡操作。
admin set frontend config("disable_balance" = "true");
关闭 colocation 表的副本均衡逻辑。关闭后,不会再触发 colocation 表的副本重分布操作。
admin set frontend config("disable_colocate_balance" = "true");
关闭副本调度逻辑。关闭后,所有已产生的副本修复和均衡任务不会再被调度。
admin set frontend config("disable_tablet_scheduler" = "true");
备份fe的元数据
备份fe/doris-meta
在 fe.conf 文件中配置的元数据进行备份。
meta_dir = /apache-doris-fe-1.2.0-bin-x86_64/doris-meta
备份元数据,直接cp就行了。
cp -R doris-meta doris-meta.bak
下载对应的安装包
wget https://mirrors.tuna.tsinghua.edu.cn/apache/doris/1.2/1.2.4.1-rc01/apache-doris-be-1.2.4.1-bin-x86_64.tar.xz
wget https://mirrors.tuna.tsinghua.edu.cn/apache/doris/1.2/1.2.4.1-rc01/apache-doris-fe-1.2.4.1-bin-x86_64.tar.xz
wget https://mirrors.tuna.tsinghua.edu.cn/apache/doris/1.2/1.2.4.1-rc01/apache-doris-dependencies-1.2.4.1-bin-x86_64.tar.xz
滚动升级be
- 停止be节点。
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl status
sudo supervisorctl start <process_name> sudo supervisorctl start doris_be
sudo supervisorctl stop <process_name> sudo supervisorctl stop doris_be
sudo supervisorctl restart <process_name> sudo supervisorctl restart doris_be
- 用mv 替换掉旧的doris be的bin和lib目录。
mv /home/bigdata/module/apache-doris-be-1.2.0-bin-x86_64/bin /home/bigdata/module/apache-doris-be-1.2.0-bin-x86_64/bin.bak
mv /home/bigdata/module/apache-doris-be-1.2.0-bin-x86_64/lib /home/bigdata/module/apache-doris-be-1.2.0-bin-x86_64/lib.bak
cp -R /home/bigdata/module/apache-doris-be-1.2.0-bin-x86_64/apache-doris-2.0.1.1-bin-x64/be/bin/* /home/bigdata/module/apache-doris-be-1.2.0-bin-x86_64/bin
cp -R /home/bigdata/module/apache-doris-be-1.2.0-bin-x86_64/apache-doris-2.0.1.1-bin-x64/be/lib/* /home/bigdata/module/apache-doris-be-1.2.0-bin-x86_64/lib
修改配置文件
vi /home/bigdata/module/apache-doris-be-1.2.0-bin-x86_64/bin/start_be.sh
ulimit -n 524288
nohup ${LIMIT:+${LIMIT}} "${DORIS_HOME}/lib/doris_be" "$@" >>"${LOG_DIR}/be.out" 2>&1 </dev/null &
修改成nohup ${LIMIT:+${LIMIT}} "${DORIS_HOME}/lib/doris_be" "$@" >>"${LOG_DIR}/be.out" 2>&1 </dev/null,也就是去掉了&
wq保存退出
- 重启doris。
sudo ./start_be.sh
查看日志文件
tail -f be.INFO
如果上面的操作没有什么问题了,那么就可以用下面的自启动了。
sudo supervisorctl start doris_be
如果没有启动 :
sudo vi /etc/supervisord.d/doris_be.ini
- show backends; 看是否正常。正常则依次启动对应的be。
注意:如果升级以后发现sst文件找不到的错误,可以删除对应的be重新加入,利用副本机制恢复。
升级fe
注意:先升级 fowller 在升级 master
不然会报错
RROR 1105 (HY000): ForwardToMasterException, msg: org.apache.doris.qe.MasterOpExecutor$ForwardToMasterException: forward to master FE TNetworkAddress(hostname:10.240.8.117, port:8091), statement id: 124 : failed, cause: EOF
元数据恢复 2.0
这里如果只有一个节点的时候才使用,正常的步骤从 1 开始。
sudo ./start_fe.sh --metadata_failure_recovery --console
- 停止fe节点。
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl status
sudo supervisorctl start <process_name> sudo supervisorctl start dorisfe
sudo supervisorctl stop <process_name> sudo supervisorctl stop dorisfe
sudo supervisorctl restart <process_name> sudo supervisorctl restart dorisfe
- 删除 bin lib 目录下的数据(记得备份下元数据)。
cp -R doris-meta doris-meta.bak
mv bin bin.bak
mv lib lib.bak
- 把下载好的新的bin 和lib替换到旧的 bin 和lib。
mv lib /home/bigdata/module/apache-doris-fe-1.2.0-bin-x86_64
mv bin /home/bigdata/module/apache-doris-fe-1.2.0-bin-x86_64
修改配置文件
vim /home/bigdata/module/apache-doris-fe-1.2.0-bin-x86_64/bin/start_fe.sh
ulimit -n 524288
# 下面是自启动supervisorctl的时候需要去掉&
nohup ${LIMIT:+${LIMIT}} "${DORIS_HOME}/lib/doris_be" "$@" >>"${LOG_DIR}/be.out" 2>&1 </dev/null &
修改成nohup ${LIMIT:+${LIMIT}} "${DORIS_HOME}/lib/doris_be" "$@" >>"${LOG_DIR}/be.out" 2>&1 </dev/null,也就是去掉了&
wq保存退出
- 启动fe。
先看下是否启动正常。
sudo ./start_fe.sh
普通启动。
sudo ./start_fe.sh --daemon
自动拉起启动
sudo supervisorctl start dorisfe
- show frontends;看是否正常。
把副本迁移打开
关闭副本均衡逻辑。关闭后,不会再触发普通表副本的均衡操作。
admin set frontend config("disable_balance" = "false");
关闭 colocation 表的副本均衡逻辑。关闭后,不会再触发 colocation 表的副本重分布操作。
admin set frontend config("disable_colocate_balance" = "false");
关闭副本调度逻辑。关闭后,所有已产生的副本修复和均衡任务不会再被调度。
admin set frontend config("disable_tablet_scheduler" = "false");
附录
新加节点操作
#在sql命令行执行
ALTER SYSTEM DROP FOLLOWER "100.200.0.36:9010";
ALTER SYSTEM ADD FOLLOWER "100.200.0.36:9010";
#要加入的节点,10.200.8.117是master节点,加入的节点的端口一定要和集群所有的端口相同
./bin/start_fe.sh --helper 100.200.8.117:9010 --daemon
dump 元数据
curl 127.0.0.1:8030/dump